package org.triumphxx.bitcal;

/**
 * @author:triumphxx
 * @Date:2023/10/22
 * @Time:10:35
 * @微信公众号：思考集结处
 * @网站：https://blog.triumphxx.com.cn
 * @GitHub https://github.com/triumphxx
 * @Desc: 打印一个数的二进制数据
 **/
public class PrintBinary {

    public static void main(String[] args) {
        int source = 12 ;
        source = Integer.MAX_VALUE;
        source = Integer.MIN_VALUE;
        print(source);
    }

    /**
     * int -> 32位  long - > 64位
     * 二进制的第一位数据是 符号位 0-正数  1-负数
     * @param source 目标数据
     */
    public static void print(int source){
        for (int i = 31 ; i >= 0 ; i--) {
            System.out.print((source & (1 << i)) == 0 ? "0" : "1");
        }
        System.out.println();
    }

}
